package com.sfeir.gwt.webding.client.component.menu.event;

import com.google.gwt.event.shared.GwtEvent;
import com.sfeir.gwt.webding.client.component.menu.Item;


public class MenuItemSelectEvent extends GwtEvent<MenuItemSelectHandler> {
    private Item menuItem;
    

    private final static Type<MenuItemSelectHandler> TYPE = new Type<MenuItemSelectHandler>();
    
    /**
     * Cree un nouvel evenement lorsqu'une entree du menu est selectionner
     * @param menuItem
     */
    public MenuItemSelectEvent(Item menuItem) {
        this.menuItem = menuItem;
    }

    /**
     * Retourne l'entree du menu qui a ete selectionnee
     * @return
     */
    public Item getMenuItem() {
        return menuItem;
    }
    
    @Override
    protected void dispatch(MenuItemSelectHandler handler) {
        handler.onMenuItemSelect(this);
    }
    
    @Override
    public Type<MenuItemSelectHandler> getAssociatedType() {
        return TYPE;
    }

    public static Type<MenuItemSelectHandler> getType() {
        return TYPE;
    }
    
}
